/*
 * SoftwareSAR - 1.0
 */
package br.com.cpqd.ssar.utilitarias;

/**
 * Classe que Representa um Vértice no Espaço 3D
 * @author Rafael Buck
 * @version 1.1
 */
public class Vertice {

    /**
     * Coordenada do Vértice no Espaço 3D
     */
    private float[] coordenada;

    /**
     * Método Construtor
     */
    public Vertice() {
        coordenada = new float[3];
    }

    /**
     * Método Construtor Sobrecarregado
     * @param coordenada 3 coordenada que definem o ponto
     */
    public Vertice(float[] coordenada) {
        if (coordenada.length == 3) {
            this.coordenada = coordenada;
        } else {
            coordenada = new float[3];
            System.out.println("Erro - Classe Vertex: Atribuição de mais de 3 coordenadas a um ponto");
        }
    }

    /**
     * Get the value of coordenada
     * @return the value of coordenada
     */
    public float[] getCoordenada() {
        return coordenada;
    }

    /**
     * Set the value of coordenada
     * @param coordenada new value of coordenada
     */
    public void setCoordenada(float[] coordenada) {
        if (coordenada.length == 3) {
            this.coordenada = coordenada;
        } else {
            System.out.println("Erro - Classe Vertex: Atribuição de mais de 3 coordenadas a um ponto");
        }
    }

    /**
     * Get the value of coordenada at specified index
     * @param index int - [0] = x, [1] = y, [2] = z
     * @return the value of coordenada at specified index
     */
    public float getCoordenada(int index) {
        if ((index >= 0) & (index <= 2)) {
            return this.coordenada[index];
        } else {
            System.out.println("Erro - Classe Vertex: Valor de índice fora dos limites");
            return 0;
        }
    }

    /**
     * Set the value of coordenada at specified index.
     * @param index int - [0] = x, [1] = y, [2] = z
     * @param newCoordenada new value of coordenada at specified index
     */
    public void setCoordenada(int index, float newCoordenada) {
        if ((index >= 0) & (index <= 2)) {
            this.coordenada[index] = newCoordenada;
        } else {
            System.out.println("Erro - Classe Vertex: Valor de índice fora dos limites");
        }
    }
}
